// 编写一个算法来判断一个数是不是“快乐数”。
// 一个“快乐数”定义为：对于一个正整数，每一次将该数替换为它每个位置上的数字的平方和，
// 然后重复这个过程直到这个数变为 1，也可能是无限循环但始终变不到 1。如果可以变为 1，那么这个数就是快乐数。

// 示例: 
// 输入: 19
// 输出: true
// 解释: 
// 12 + 92 = 82
// 82 + 22 = 68
// 62 + 82 = 100
// 12 + 02 + 02 = 1

let set = new Set();
var isReduce = function(n) {
	let arr = [...(n + "")];
	console.log(arr);
	return arr.reduce(function(x, y) {
		x += Number(y * y);
    	return x;
    }, 0);
}
var isHappy = function(n) {
	let sum = isReduce(n)
	console.log("sum-->", sum);


    if(sum == 1){
		return true;
	}
	if(set.has(sum)){
		return false;
	}
	set.add(sum);
	if(sum != 1){
    	return isHappy(sum);
    }

};
console.log(isHappy(7));



